<script>
	export default {
		onLaunch: function() {
			console.log('App Launch')
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		},
    methods: {
      // 检查登录状态
      checkLoginStatus() {
        try {
          // 直接使用导入的 userManager 而不是通过 Vue 原型
          const userInfo = userManager.getUserInfo()
          const token = uni.getStorageSync('token')
          const isLoggedIn = userInfo && token

          // 获取当前页面路径
          const pages = getCurrentPages()
          const currentPage = pages.length > 0 ? pages[pages.length - 1] : null
          const currentRoute = currentPage ? currentPage.route : ''
          const currentFullPath = currentPage ? '/' + currentRoute + this.getPageQuery(currentPage) : ''

          // 不需要登录的页面白名单
          const whiteList = [
              'pages/login/login', // 登录页
              'pages/index/index' // 首页添加到白名单，允许未登录访问
          ];

          // 如果未登录且不在白名单中，则跳转到登录页
          if (!isLoggedIn) {
            // 清除可能不完整的登录信息
            userManager.clearUserInfo()

            if (!whiteList.some(path => currentRoute.includes(path))) {
              // 构建重定向URL (如果需要，可以保留重定向逻辑)
              const redirectUrl = encodeURIComponent(currentFullPath);
              // 暂时注释掉跳转逻辑，测试是否能进入首页
              // uni.navigateTo({
              //   url: `/pages/login/login?redirect=${redirectUrl}`
              // })
            }
          }
        } catch (e) {
          console.error('检查登录状态出错:', e)
        }
      },

      // 获取页面参数
      getPageQuery(page) {
        if (!page || !page.options) return ''

        const query = Object.keys(page.options)
            .map(key => `${key}=${page.options[key]}`)
            .join('&')

        return query ? `?${query}` : ''
      }
    }
	}
</script>

<style>
	/*每个页面公共css */
</style>
